Methods, apparatus, and article for force feedback based on tension control and tracking through cables

ABSTRACT

A haptic interface system includes a cable based haptic interface device and a controller. The controller receives information related to movement of a grip in real-space and generates a stereoscopic output for a display device. The stereoscopic output includes images of a virtual reality tool whose motions mimic motions of the real-space grip.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The disclosure is generally related to haptic systems employing forcefeedback.

2. Description of the Related Art

Touch, or haptic interaction is a fundamental way in which peopleperceive and effect change in the world around them. Our veryunderstanding of the physics and geometry of the world begins bytouching and physically interacting with objects in our environment. Thehuman hand is a versatile organ that is able to press, grasp, squeeze orstroke objects; it can explore object properties such as surfacetexture, shape and softness; and it can manipulate tools such as a penor wrench. Moreover, touch interaction differs fundamentally from allother sensory modalities in that it is intrinsically bilateral. Weexchange energy between the physical world and ourselves as we push onit and it pushes back. Our ability to paint, sculpt and play musicalinstruments, among other things depends on physically performing thetask and learning from the interactions.

Haptics is a recent enhancement to virtual environments allowing usersto “touch” and feel the simulated objects with which they interact.Haptics is the science of touch. The word derives from the Greekhaptikos meaning “being able to come into contact with.” The study ofhaptics emerged from advances in virtual reality. Virtual reality is aform of human-computer interaction (as opposed to keyboard, mouse andmonitor) providing a virtual environment that one can explore throughdirect interaction with our senses. To be able to interact with anenvironment, there must be feedback. For example, the user should beable to touch a virtual object and feel a response from it. This type offeedback is called haptic feedback.

In human-computer interaction, haptic feedback refers both to tactileand force feedback. Tactile, or touch feedback is the term applied tosensations felt by the skin. Tactile feedback allows users to feelthings such as the texture of virtual surfaces, temperature andvibration. Force feedback reproduces directional forces that can resultfrom solid boundaries, the weight of grasped virtual objects, mechanicalcompliance of an object and inertia.

Conventional haptic devices (or haptic interfaces) are typicallymechanical devices that mediate communication between the user and thecomputer. Haptic devices allow users to touch, feel and manipulatethree-dimensional objects in virtual environments and tele-operatedsystems. Most common computer interface devices, such as basic mice andjoysticks, are input-only devices, meaning that they track a user'sphysical manipulations but provide no manual feedback. As a result,information flows in only one direction, from the peripheral to thecomputer. Haptic devices are input-output devices, meaning that theytrack a user's physical manipulations (input) and provide realistictouch sensations coordinated with on-screen events (output). Examples ofhaptic devices include consumer peripheral devices equipped with specialmotors and sensors (e.g., force feedback joysticks and steering wheels)and more sophisticated devices designed for industrial, medical orscientific applications (e.g., PHANTOM™ device).

Haptic interfaces are relatively sophisticated devices. As a usermanipulates the end effecter, grip or handle on a haptic device, encoderoutput is transmitted to an interface controller. Here the informationis processed to determine the position of the end effecter. The positionis then sent to the host computer running a supporting softwareapplication. If the supporting software determines that a reaction forceis required, the host computer sends feedback forces to the device.Actuators (motors within the device) apply these forces based onmathematical models that simulate the desired sensations. For example,when simulating the feel of a rigid wall with a force feedback joystick,motors within the joystick apply forces that simulate the feel ofencountering the wall. As the user moves the joystick to penetrate thewall, the motors apply a force that resists the penetration. The fartherthe user penetrates the wall, the harder the motors push back to forcethe joystick back to the wall surface. The end result is a sensationthat feels like a physical encounter with an obstacle.

General-purpose commercial haptic interfaces used today can beclassified as either ground based devices (force reflecting joysticksand linkage based devices) or body based devices (gloves, suits,exoskeletal devices). The most popular design on the market is a linkagebased system, which consists of a robotic arm attached to a grip(usually a pen). A large variety of linkage based haptic devices havebeen patented (examples include U.S. Pat. Nos. 5,389,865; 5,576,727;5,577,981; 5,587,937; 5,709,219; 5,828,813; 6,281,651; 6,413,229; and6,417,638).

An alternative to a linkage based device is one that is tension based.Instead of applying force through links, cables are connected a point ona “grip” in order to exert a vector force on that grip. Encoders can beused to determine the lengths of the connecting cables, which in turncan be used to establish position of the cable connection point on thegrip. Motors are used to create tension in the cables.

Predating Dr. Seahak Kim's work on the SPIDAR-G, Japanese Patent No.2771010 and U.S. Pat. No. 5,305,429 were filed that describe a “3D inputdevice” as titled in the patent. This system consists of a supportmeans, display means and control means. The support means is a cubicframe. Attached to the frame are four encoders and magnetic switchescapable of preventing string movement over a set of pulleys. The pulleysconnect the tip of each encoder to strings that are wound through thepulleys. Each string continues out of the pulley to connect with aweight that generates passive tension in the string. The ON/OFF magneticswitches allow the strings to be clamped in place on command from thehost computer. The strings connect to the user's fingertip, which areconnected to the weights through the pulleys. The user moves his or herfingertip to manipulate a virtual object in a virtual environment, whichis displayed through a monitor. As the user moves his or her fingertip,the length of the four strings change, and a computer calculates athree-dimensional position based on the number of pulses from theencoder, which indicate the change of string length between the pulleysand the user's finger. If the three-dimensional position of thefingertip is found to collide with a virtual object as determined by acontrolling host computer, then the ON/OFF magnetic switch is signaledto grasp and hold each string so that movement is resisted. Forces arenot rendered in a specific direction, but resistance in all directionsindicates that a user has contacted a virtual object. When the fingertipis forced outside the boundary of a virtual object, the magnetic switchis turned off to release the strings. The user is then able to move hisor her finger freely.

A system that combines virtual reality with exercise is described inU.S. Pat. No. 5,577,981. This system uses sets of three cables withretracting pulleys and encoders to determine the position of points on ahead mounted display. Using the lengths of the three cables, theposition of the point in space is found. Tracking three points on thehelmet (nine cables) allows head tracking of six degrees of freedom.Three cables attached to motor and encoders are also used to control themovement of a boom that rotates in one dimension through a vertical slitin a wall. The boom also has a servomotor at its end, about which theboom rotates. It is claimed that the force and direction of forceapplied by the boom can be controlled via the cables, servo motor andcomputer software, but no details are provided for how this isaccomplished. U.S. Pat. No. 5,305,429 and U.S. Pat. No. 6,630,923describe two cables based haptic interface devices.

Haptic interface devices can be used in a variety of fields for avariety of purposes. One field where haptic interface devices arecurrently employed is in simulating medical procedures for trainingmedical personnel such as doctors in new techniques and/or for allowingmedical personnel to practice old techniques. The practice of old or newtechniques via a haptic interface device is especially important whenthe techniques are complicated and/or inherently risky to patients.Normally, conventional haptic interface devices can be large and for allpractical purposes non-portable. Thus, hospitals and organizations thatuse a conventional haptic interface device normally dedicate a room forthe conventional haptic interface device. This means that personswanting or needing to use a conventional haptic interface device must goto the dedicated room in order to practice on the conventional hapticinterface device, which can be very inconvenient to the persons wantingor needing to use the conventional haptic interface device. A problemwith conventional haptic interface devices is that they may beunder-utilized due to the inconvenience of the user having to go to thededicated room. Another problem is that hospitals and otherorganizations might not have the resources for housing the conventionalhaptic interface devices. Thus, there exists a need to overcome theaforementioned deficiencies.

BRIEF SUMMARY OF THE INVENTION

In one aspect, a haptic interface device comprises a first grip; a firstset of a number of translation effecter devices, the first set oftranslational effecter devices including a first translational effecterdevice, a second translational effecter device, a third translationaleffecter device, and a fourth translational effecter device; a first setof a number of cables, each cable of the first set of cables having afirst end and a second end, the first end of each first set of cablescoupled to the first grip, and the second end of each first set ofcables coupled to a respective one of the first set of translationaleffecter devices; a second grip that moves independently of the firstgrip; a second set of a number of translation effecter devices, thesecond set of translational effecter devices including a firsttranslational effecter device, a second translational effecter device, athird translational effecter device, and a fourth translational effecterdevice; a second set of a number of cables, each cable of the second setof cables having a first end and a second end, the first end of eachsecond set of cables coupled to the second grip, and the second end ofeach second set of cables coupled to a respective one of the second setof translational effecter devices; a translational effecter devicemounting means for mounting the first set of translational effecterdevices and the second set of translational effecter devices in fixedpositions, the translational effecter device mounting means defining anopening having a transverse width, wherein the positions of first set oftranslational effecter devices are transversely offset from thepositions of the second set of translational effecter devices.

In another aspect, a haptic interface device comprises a first gripconfigured to move within a volume of space, the first grip associatedwith a first movable robotic object; a second grip configured to movewithin the volume of space independent of the first grip, the secondgrip associated with a second movable robotic object; a first set of anumber of translational effecter devices, each translational effecterdevice of the first set of translational effecter devices having a motorand a spool, each motor configured to fractionally rotate a respectiveone of the spools, each one of the spools of the translational effecterdevices of the first set of translational effecter devices having acable coupled thereto, each one of the respective cables coupled to thefirst set of translational effecter devices is coupled to the firstgrip, the first set of translational effecter devices including fourtranslational effecter devices; a second set of a number oftranslational effecter devices, each translational effecter device ofthe second set of translational effecter devices having a motor and aspool, each motor configured to fractionally rotate a respective one ofthe spools, each one of the spools of the translational effecter devicesof the second set of translational effecter devices having a cablecoupled thereto, each one of the respective cables coupled to the secondset of translational effecter devices is coupled to the second grip, thesecond set of translational effecter devices including fourtranslational effecter devices; a frame having the first set oftranslational effecter devices and the second set translational effecterdevices mounted thereon, the frame having a transverse width, whereinthe first set of translational effecter devices are transversely offsetfrom the second set of translational effecter devices; a firstcontroller subsystem in direct communication with the motors of thefirst set of translational effecter devices and in direct communicationwith the motors of the second set of translational effecter devices, thefirst controller subsystem having a virtual reality (VR) collisiondetection module and a tracking module, the tracking module configuredto receive signals from the first set of translational effecter devicesand configured to determine a position of the first grip based upon thesignals from the first set of translational effecter devices andconfigured to receive signals from the second set of translationaleffecter devices and configured to determine a position of the secondgrip based upon the signals from the second set of translationaleffecter devices, the VR collision detection module having VR primitiveshapes stored therein, the VR collision detection module configured touse the VR primitive shapes to simulate a VR environment having VRobjects and determine collisions between the VR objects and at least oneof the first robotic object or the second robotic object based upon thereceived signals.

In another aspect, a haptic interface device comprises a grip configuredto move within a volume of space, the grip associated with a movablerobotic object; a first cable having a first end and a second end, thefirst end coupled to the grip; a first tool translation effecter device(translational effecter device) having coupled thereto the second end ofthe first cable such that, as the grip is moved within the volume ofspace, the first cable is retracted or paid out accordingly by the firsttranslational effecter device; a grip dock configured to receive thefirst grip; and a cable lock configured to lock the first such that thelocked cable cannot be further retracted or further paid out.

In another aspect, a haptic interface device comprises a grip configuredto move within a volume of space, the grip associated with a movablerobotic object; a set of a number of translational effecter devices,each translational effecter device of the set of translational effecterdevices having a motor and a spool, each motor configured tofractionally rotate a respective one of the spools, each one of thespools of the translational effecter devices of the set of translationaleffecter devices having a cable coupled thereto, each one of therespective cables coupled to the set of translational effecter devicesis coupled to the grip; a haptic controller subsystem in directcommunication with the motors of the set of translational effecterdevices, the controller subsystem having a virtual reality (VR)collision detection module and a tracking module, the tracking moduleconfigured to receive signals from the set of translational effecterdevices and configured to determine a position of the grip based uponthe signals from the set of translational effecter devices, the VRcollision detection module having VR primitive shapes stored therein,the VR collision detection module configured to use the VR primitiveshapes to simulate a VR environment having VR objects and determinecollisions between the VR objects and the robotic object or the secondrobotic object based upon the received signals, the haptic controllersubsystem configured to provide a second haptic controller subsystemwith information related to the VR environment.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

In the drawings, identical reference numbers identify similar elementsor acts. The sizes and relative positions of elements in the drawingsare not necessarily drawn to scale. For example, the shapes of variouselements and angles are not drawn to scale, and some of these elementsare arbitrarily enlarged and positioned to improve drawing legibility.Further, the particular shapes of the elements as drawn, are notintended to convey any information regarding the actual shape of theparticular elements, and have been solely selected for ease ofrecognition in the drawings.

FIG. 1 is an isometric view of a dual-handed haptic interface deviceaccording to one illustrated embodiment.

FIG. 2 is an isometric view of a dual-handed haptic interface deviceaccording to another illustrated embodiment.

FIG. 3 is an isometric view of a work station according to oneillustrated embodiment.

FIG. 4 is a cross-sectional view of a stereoscope according to oneillustrated embodiment.

FIG. 5 is a block diagram showing selected components of a dual-handedhaptic interface device and how they relate to each other according toone illustrated embodiment.

FIG. 6 is a block diagram of a haptic interface system according to oneillustrated embodiment.

FIG. 7 is an isometric view of a dual-handed haptic interface deviceaccording to another illustrated embodiment.

FIG. 8 is an isometric view of a sensor array according to anillustrated embodiment.

FIG. 9 is an isometric view of a translational effecter device accordingto an illustrated embodiment.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, certain specific details are set forth inorder to provide a thorough understanding of various disclosedembodiments. However, one skilled in the relevant art will recognizethat embodiments may be practiced without one or more of these specificdetails, or with other methods, components, materials, etc. In otherinstances, well-known structures associated with systems and methods forproviding virtual reality using cable based haptic interface deviceshave not been shown or described in detail to avoid unnecessarilyobscuring descriptions of the embodiments.

Unless the context requires otherwise, throughout the specification andclaims which follow, the word “comprise” and variations thereof, suchas, “comprises” and “comprising” are to be construed in an open,inclusive sense, that is as “including, but not limited to.”

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. Thus, the appearances of the phrases “in one embodiment” or“in an embodiment” in various places throughout this specification arenot necessarily all referring to the same embodiment. Further more, theparticular features, structures, or characteristics may be combined inany suitable manner in one or more embodiments.

As used in this specification and the appended claims, the singularforms “a,” “an,” and “the” include plural referents unless the contentclearly dictates otherwise. It should also be noted that the term “or”is generally employed in its sense including “and/or” unless the contentclearly dictates otherwise.

The headings and Abstract of the Disclosure provided herein are forconvenience only and do not interpret the scope or meaning of theembodiments.

FIG. 1 shows a dual-handed haptic interface device 100. The dual-handedhaptic interface device 100 includes a workstation 102 a and a display104. The workstation 102 a includes a frame 110 and a base 112. The base112 defines a front side 120 and a rear side 122, which is proximal tothe display 104 with respect to the front side 120. Extending from thefront side 120 is a generally reclined L-shaped member 124 a.

The frame 110 defines an opening 114 through which the user may view thedisplay 104. The frame 110 includes two side arms, which arecollectively referenced as 116 and individually referenced as 116 a and116 b. The side arms 116 extend generally upward from the front side 120of the base 112 and may extend slightly rearward in the direction of therear side 122. A cross member 118 extends between the side arms 116.

In the embodiment illustrated, the display 104 is disposed behind theworkstation 102 a and is viewable by a user of the dual-handed hapticinterface device 100. Arrow 113 represents the line of sight of a userpositioned proximal to the front side 120 of the frame 110.

In some embodiments, the display 104 may be disposed beside, above, orbelow the workstation 102 a, such that the display 104 is viewable to auser. In some embodiments, the dual-handed haptic interface device 100may not include the display 104, and in yet other embodiments, thedisplay 104 may be disposed or positioned such that the display 104 ispartially or fully obscured to the user, or not viewable by a user.

The workstation 102 a includes a pair of movable grips referencedcollectively as 106 and individually referenced as 106 a and 106 b.Movable grips include any tool, device, etc., that a user maymanipulate.

Each one of the grips 106 is coupled to the frame 110 via respectivesets of four cables (collectively referenced as 108 and individuallyreferenced as 108 a-108 h). Cables 108 a-108 d are coupled to grip 106 aat an attachment end 109 a, and cables 108 e-108 h are coupled to thegrip 106 b at attachment end 109 b. In some embodiments, the grips 106are removably coupled to the attachment ends so that different types oftools may be manipulated by a user.

The generally reclined L-shaped member 124 a, the side arms 116, and thecross member 118 may be generally hollow and form a housing for a numberof components such as, but not limited to, translation effecter devices(not illustrated in FIG. 1). Embodiments of translation effecter devicesare described in U.S. Patent Publication No. US20050024331-A1, havingSer. No. 10/811,310, filed on Mar. 26, 2004, which is herebyincorporated by reference in its entirety.

In the embodiment illustrated in FIG. 1, cable 108 a extends from theattachment end 109 a toward the side arm 116 a; cable 108 b extends fromthe attachment end 109 a toward the cross member 118; cable 108 cextends from the attachment end 109 a toward the rear side 122 of base112; and cable 108 d extends from the attachment end 109 a toward thegenerally reclined L-shaped member 124 a. Similarly, cable 108 e extendsfrom the attachment end 109 b toward the side arm 116 b; cable 108 fextends from the attachment end 109 b toward the cross member 118; cable108 g extends from the attachment end 109 b toward the generallyreclined L-shaped member 124 a; and cable 108 h extends from theattachment end 109 b toward the rear side 122 of base 112.

FIG. 2 shows a second embodiment of a workstation 102 b according to anillustrated embodiment, with the display omitted for clarity ofillustration. The workstation 102 b includes a skeletal frame 126 havinga base 128 and support system 130. The base 128 includes opposed sides132, 134 and opposed cross members 136, 138 extending between the sides132, 134.

The support system 130 includes a pair of opposed support members 140,142 extending generally upward from the base 128. A cross member 144extends between the support members 140, 142. Arms 146, 148, 150, 152extend outward, generally in the direction of cross member 138, from thecross member 144.

Translational effecter devices 154 b, 154 c, 154 f, 154 g are coupled tothe arms 146, 148, 150, 152, respectively. Translational effecterdevices 154 h, 154 d are coupled to the cross member 136, andtranslational effecter devices 154 a, 154 e are coupled to the crossmember 138.

The relative locations of the translational effecter devices are givenwith reference to the Cartesian coordinate system 160. The x-axis of theCartesian coordinate system 160 is generally parallel to the crossmember 144, the y-axis of the Cartesian coordinate system 160 isgenerally parallel to the arm 132, and the z-axis of the Cartesiancoordinate system 160 is generally parallel to the support member 140.The x-location of the translational effecter devices 154 a, 154 d are inbetween the x-locations of the translational effecter devices 154 b, 154c. Similarly, the x-locations of the translational effecter devices 154e, 154 h are in between the x-locations of the translational effecterdevices 154 f, 154 g.

The y-locations of the translational effecter devices 154 b, 154 c arein between the y-locations of the translational effecter devices 154 a,154 d. Similarly, the y-locations of the translational effecter devices154 f, 154 g are in between the y-locations of the translationaleffecter devices 154 e, 154 h.

Cables 156 a-156 d are coupled to a first attachment end 158 a, andcables 156 e-156 h are coupled to a second attachment end 158 b. Thecables are collectively referenced as 156 and individually referenced as156 a-156 h, and the attachment ends are collectively referenced as 158.

Cable 156 a, 156 b, 156 c, 156 d extends from the attachment end 158 ato the translational effecter device 154 a, 154 b, 154 c, 154 d,respectively. The translational effecter devices 154 a-154 d are eachconfigured to pay out and retract cables 156 a-156 d, respectively, inresponse to motion of the attachment end 158 a. Similarly, cable 156 e,156 f, 156 g, 156 h extends from the attachment end 158 b to thetranslational effecter device 154 e, 154 f, 154 g, 154 h, respectively.The translational effecter devices 154 e-154 h are each configured topay out and retract cables 156 e-156 h, respectively, in response tomotion of the attachment end 158 b.

According to the embodiment illustrated in FIG. 2, each of theattachment ends 158 includes a sensor, which are collectively referencedas 162 and individually referenced as 162 a, 162 b. The sensors 162 mayinclude one or more sensors, such as, but not limited to, gyroscopicsensors, acceleration sensors, infrared sensors, or electromagneticsensors, tilt sensors which can relay signals to a control subsystem 200(FIG. 5). The control subsystem 200 may use these signals to determine,among other things, the orientation, such as yaw, pitch, and roll, ofthe attachment ends 158.

In some embodiments, an additional number of cables and a correspondingnumber of additional translational effecter devices 154 can be used toprovide one or more degrees of force feedback. Typically, for eachadditional degree of force feedback, an additional cable is connected tothe grip and the corresponding translational effecter device is coupledto the frame. Thus, to provide orientational force feedback such aspitch, roll, and yaw for one of the grips, then three more cables wouldbe attached to the grip. In some embodiments, information related toadditional parameters of a grip and/or a tool coupled to a grip may bedetermined via additional cables and corresponding translationaleffecter devices. For example, a cable could be attached to ascissor-like handle of a tool to determine whether the scissor-likehandle is open or closed.

FIG. 3 shows another embodiment of a dual-handed haptic interface device100 c according to an illustrated embodiment, with the cables and gripsomitted for clarity of illustration. In FIG. 3, the various labelshaving a reference numeral and a prime (′) identify similar componentsand/or features as those of FIG. 1 that have the same reference numeralwithout a prime, and the various alphanumeric labels (e.g., labelshaving a reference numeral and a letter of the English alphabet) and aprime (′) identify similar components and/or features as those of FIG. 1that have the same alphanumeric labels without a prime.

Among other things, the dual-handed haptic interface device 100 cprovides a user with stereoscopic viewing and includes a workstation 102c. In some embodiments, the dual-handed haptic interface device 100 cmay include the display 104 (not shown in FIG. 3).

In this embodiment, the front side 120′ does not have the generallyreclined L-shaped member 124 a extending therefrom. Instead, two cableholes individually referenced as 164 d and 164 h are formed in the base112′ proximal to the front side 120′. Extending rearward from the rearside 122′ is a second generally reclined L-shaped member 124 b. Thegenerally reclined L-shaped member 124 b has a second pair of cableholes, individually referenced as 164 c and 164 g. Another cable hole164 e is formed in arm 116 b′. Similarly, a cable hole 164 a is formedin arm 116 a′. In addition, the cross member 118′ includes two cableholes 164 b and 164 f.

The cable holes 164 a-164 d receive cables 108 a-108 d (see FIG. 1)connected to the right side grip 106 a (see FIG. 1). Similarly, thecable holes 164 e-164 g receive cables 108 e-108 h (see FIG. 1)connected to the left side grip 106 b (see FIG. 1).

The cable holes 164 a-164 d define the vertices of a first tetrahedron,and the cable holes 164 e-164 g define the vertices of a secondtetrahedron. In some embodiments, the first and second tetrahedrons areessentially back to back. In some embodiments, the first and secondtetrahedrons are approximately symmetrically disposed about a midpoint195 of a line 197 that extends between the hole 164 a and the hole 164e. In this embodiment, it should be noted that translational effecterdevices are disposed within the frame 110 proximal to the cable holes164 a-164 g, and consequently, the translational effecter devices alsodefine the vertices of the two tetrahedrons.

The first tetrahedron defines the volume of space in which forcefeedback can be applied to the grip 106 a. When the grip 106 a isoutside of the first tetrahedron, cable tension can be applied to pullthe grip 106 a back into the first tetrahedron and/or to stop the grip106 a from being moved further outside of the tetrahedron, but cabletension cannot be used to apply a force in any arbitrary direction. Whenthe second grip 106 b is outside of the second tetrahedron, the same istrue for the second grip 106 b. However, even when the grips 106 areoutside of their respective tetrahedrons, the grips may still be trackedby the dual handed haptic interface device 100.

A stereoscope 166 is coupled to the cross member 118′. The stereoscope166 includes a right side aperture 168 a and a left side aperture 168 b,both of which are formed in a front side 170. The front side 170 may becontoured with a recess 172 that is shaped to receive a nose of a user.The stereoscope 166 is positioned such that it is angled downward andrearward with respect to a user.

FIG. 4 shows an embodiment of the stereoscope 166 according to theillustrated embodiment as viewed along line AA of FIG. 3.

The stereoscope 166 includes right side mirrors 174 a, 174 b and leftside mirrors 174 c, 174 d. The right side mirrors 174 a, 174 b arealigned to reflect light emitted from a right side display 176 a throughthe aperture 168 a. Similarly, the left side mirrors 174 c, 174 d arealigned to reflect light emitted from a left side display 176 b throughthe aperture 168 b. In some embodiments, the stereoscope 166 may includeother optical components such as prisms, lenses, and/or filters. Forexample, prisms could replace the mirrors 174 a, 174 c.

In the embodiment illustrated in FIG. 4, the right and left sidedisplays 176 a, 176 b could be replaced by a single display on whichsplit screen images are displayed. The displays 176 a, 176 b may takethe form of flat panel displays such as LCDs, plasma displays, or DPLdisplays. In some embodiments, the displays 176 a and 176 b areapproximately 5 inches to 12 inches in diagonal size. This allowsresolutions needed for virtual reality simulations and for appropriaterefresh rates.

In some embodiments, the stereoscope 166 may be replaced by astereoscopic viewer having optically transmissive elements such as colorfilters, or polarized filters, or shutters, etc. In such an embodiment,the stereoscopic viewer is positioned such that a portion of a displaydevice (not shown in FIG. 3) may be viewable to a user of thestereoscopic viewer. The optically transmissive elements cooperate toprovide a user with a stereoscopic view of the display device.

In some embodiments, stereoscopic vision may be provided by a userwearing special glasses or goggles and viewing a display device such asa monitor. For example, the user might wear “shutter-glasses” orpolarized-glass or color-filter glasses. In yet other embodiments, thedisplay device may be a stereoscopic projector or an auto stereoscopefor providing stereoscopic images to a user without special glasses orgoggles.

FIG. 5 shows an embodiment of a tension based force feedback system 10.The tension based force feedback system 10 includes a workstation 102, acontrol subsystem 200, a calculation subsystem 300, and may include anoptional robotic system subsystem 500. Among other things, the controlsubsystem 200 converts analog and pulse signals generated by sensors(e.g., encoders) of the workstation 102 into digital signals and relaysforce signals to the workstation 102. Among other things, thecalculation subsystem 300 controls force feedback, calculates theposition of the grips 106, and mathematically represents objects and/orenvironments that might interact with a virtual tool. A non-tactilefeedback subsystem 400 provides a user of the tension based forcefeedback system 10 non-tactile stimuli (e.g., visual stimuli and/oraudible and/or olfactory stimuli) about the virtual tool and virtualobjects and/or environments, which are modeled in the calculationsubsystem 300. Among other things, the robotic subsystem 500, which inthose embodiments that are so configured, receives control instructionsfrom, and provides feedback signals to, the calculation subsystem 300.

As has been previously explained, according to some embodiments, eachone of the grips 106 is removably coupled to attachment end 109 to whichthe cables 108 are attached. A separate grip or tool or device may thenbe coupled to the attachment end 109. Accordingly, the sensors 162 maybe configured to detect rotations of separate grips or tools or devicesattached to the attachment ends 158, as one or both of the separategrips or tools or devices moves or rotates about one or more axes.

According to another embodiment, the attachment ends 109 may include avibration element, whose frequency and magnitude of vibration areregulated by the control subsystem 200. The vibration element may beused to create tactile effects. For example, vibration can be used tosimulate different materials. For example, a dissipating vibrationsignal at a high frequency might be used when simulating contact withsteel as compared to a dissipating vibration signal at a lowerfrequency, which could be used when simulating contact with wood.Suitable vibrational elements are generally known, such as thoseemployed in paging devices and cellular phones, so will not be discussedin detail in the interest of brevity.

Each of the translational effecter devices 154 includes a motor 180 andan encoder 182. The motor 180 pays out and retracts one of the cables108. The encoder 182 converts rotations of a shaft of the motor 180 intoelectrical pulses that are provided to the control subsystem 200. Insome embodiments, the encoder 182 may advantageously take the form of arelative encoder avoiding the expense associated with absolute encoders.

Among other things, the control subsystem 200 receives the signals fromthe encoders 182 of each translation effecter devices 154, and sendscontrol signals to the translational effecter devices 154. Typically,the control subsystem 200 includes three primary components: one or moremotor controllers 210, which control tension in each of the cables 108via the motors 180 as directed by the calculation subsystem 300; one ormore encoder counters 220 that receive and count pulse signals from theencoders 182 and provides these counts to the calculation subsystem 300;and one or more A/D converters 230 that convert analog signalstransmitted from each of the translation effecter devices 154 to digitalsignals that are relayed between the calculation subsystem 300 and thecontrol subsystem 200.

In one embodiment, the calculation subsystem 300 includes a localprocessor, memory storage and associated components on a printed circuitboard for implementing local software control. In other embodiments, thecalculation subsystem 300 may also include a remote computer, such as aconventional Pentium processor type or workstation with conventionalmemory and storage means. The remote computer may transfer data to thelocal processor through connections such as USB, serial, parallel,Ethernet, Firewire, SCSI, Bluetooth, serial connections, or any othermanner or device for transferring data at a high rate. The calculationsubsystem 300 processes information via software or firmware control.The calculation subsystem 300 may include five parts or submodules: anobject/environment representation module 310, a position calculationmodule 320, a collision detection module 330, a force control module340, and an application record module 350.

According to one embodiment, some or all of the processing tasks,including those described with reference to the control subsystem 200and the calculation subsystem 300, may be performed by a conventionalsystem or workstation.

Among other things, the object/environment representation module 310manages and controls modeling information about virtual (or real)objects, the three-dimensional environment, and the grips 106, anddetermines the proper interaction between the objects, the environmentand the grips 106. The object/environment representation module 310might also include information about the robotic subsystem 500,information sent from the robotic subsystem 500, and/or how movement ofthe grips 106 effects navigation of the robotic subsystem 500. Thevisual representation of these objects is relayed from theobject/environment representation module 310 to the non-tactile feedbacksubsystem 400.

Among other things, the position calculation module 320 determines theposition of the grips 106 by processing signals from the controlsubsystem 200 related to translation and rotational movement of one orboth of the grips 106.

Among other things, the collision detection module 330 determineswhether a collision has occurred between one or more modeled objects andone or both of the grips 106. This might also include an indication ofexisting environmental effects such as viscous resistance and inertiaexperienced as one or both of the grips 106 move through virtual fluidor against a virtual solid. When the system 10 is used to control arobot associated with the robotic subsystem 500, collisions may becollected from the robot as it collides with real objects.

Among other things, the force control module 340 is used to calculatetension of each one of the cables 108 that is appropriate for renderingreaction forces that take place at one or both of the grips 106. Thesummation of vector forces in the cables 108 a-108 d will equal thereaction force at the grip 106 a, and similarly, the summation of vectorforces in the cables 108 e-108 h will equal the reaction force at thegrip 106 b. Such forces might be the result of reaction forces collectedby a robot as it interacts with real objects.

Among other things, the application record module 350 manages all othersoftware interaction that takes place in an application that utilizesthe system 10.

The non-tactile feedback subsystem 400 displays virtual objects modeledthrough the calculation subsystem 300. The non-tactile feedbacksubsystem 400 might also be used to convey visual information about realobjects, such as in the case of using the system 10 to control therobotic subsystem 500 as it interacts with real objects. The non-tactilefeedback subsystem 400 may include one or more display devices 104 a and104 b, which may take the form of a conventional video monitor type andmay be, for example, NTSC, PAL, VGA, or SVGA. The non-tactile feedbacksubsystem 400 may also include a head mounted display or a videoprojection system. The non-tactile feedback subsystem 400 may relay a2-D representation or a stereoscopic representation for 3-D projection.The non-tactile feedback subsystem 400 might be used, for example, tocollocate stereoscopic representations into the workspace of the system10. This could be accomplished by placing the display device 104proximal to the rear side 122 such that the face of display device 104is viewable through the opening 114. Stereoscopic images may also berelayed through a head mounted display. The non-tactile feedbacksubsystem 400 may relay virtual environments where the entireenvironment can be classified as a rendered graphical image. Thenon-tactile feedback subsystem 400 may also transmit augmentedenvironments where graphical rendering is overlaid onto video feeds or“see through” displays of real environments. The non-tactile feedbacksubsystem 400 could also transmit pure video of real environments, suchas might be the case when the system 10 is used to control a robotoperating in a real environment.

In some embodiments, the non-tactile feedback subsystem 400 may includeat least two display devices 104 a and 104 b. One of the display devicescould be used to display a “right side” image, and another one of thedisplay devices could be used to display a “left side” image. The “rightside” image and the “left side” image may be combined into athree-dimensional (3-D) stereoscopic image. Alternatively, thenon-tactile feedback subsystem may use split-screen technology todisplay the “right side” image and the “left side” on the same displaydevice.

In one embodiment, the system 10 performs a variety of processes. Aprocess to establish the initial length of each of the cables 108 isachieved through processing transmitted signals between the calculationsubsystem 300 and each encoder counter device 182 and by utilizing ahistory of encoder pulse counts from each translation effecter 154 asstored in the calculation subsystem 300. The system 10 performs theprocess of relaying position and orientation (e.g., roll, pitch and yaw)information about the grips 106 to the calculation subsystem 300 throughoptical encoders and/or sensors such as gyroscopic sensors, accelerationsensors, tilt sensors, infrared or electromagnetic tracking mechanismslocated in and/or around the grips 106. The system 10 performs theprocess of establishing the position and orientation (e.g., roll, pitchand yaw) of the grips 106 in three-dimensional space at the calculationsubsystem 300. The system 10 performs the process of determining theposition and orientation of the grips 106 with the calculation subsystem300 from the signals sent by the control subsystem 200 and/or the grips106 to the calculation subsystem 300.

The system 10 further performs the process of establishing in thecalculation subsystem 300 a force response that is appropriate at one orboth of the grips 106 based on position and orientation of each of thegrips 160 as each one of the grips 106 relate to virtual or real objectsdefined by the calculation subsystem 300. The system 10 carries out theprocess by determining tension values in each one of the cables 108 suchthat the tension in the cables 108 will deliver the force response toone or both of the grips 106 as determined by the calculation subsystem300, and controlling tension in each one of the cables 108 by drivingthe motor 180 of each translation effecter devices 154 based on thetension values determined by the calculation subsystem 300. Finally, thesystem 10 performs the process of relaying visual and audibleinformation via the non-tactile feedback subsystem 400 from thecalculation subsystem 300 about the location and orientation of the grip160 and virtual or real objects that the grip 106 may be interactingwith.

FIG. 6 shows an embodiment of a haptic interface system 600 according toone illustrated embodiment. In FIG. 6, the various labels that include aprime (′) appended to a reference numeral (or a reference numeral andletter) identify similar components and/or features as those of priorfigures that are labeled with the same reference numeral. The detaileddescription of such components are initially provided with respect toprior figures and for the sake of brevity the description of suchcomponents in the context of their subsequently prime-labeledcounterparts in FIG. 6 are abbreviated or omitted.

The haptic interface system 600 includes a computing device 602 coupledto a cable based haptic interface 604 and coupled to a display device400′. The computing device 602 may be a personal computer, a workstation, notebook computer, etc. Software carried in a computer readablemedium such as a digital video disk (DVD), a compact disk (CD), etc. maybe loaded into a storage device 608 such as a hard drive of thecomputing device 602. The software may include instruction sets forcreating a virtual reality environment.

The cable based haptic interface 604 includes a control subsystem 610and workstation 102′. The control subsystem 610 includes a processor612, a memory 614, a storage device 616, and input/output devices 618,all of which are coupled by at least one bus 620. The I/O devices 618may include input devices, for example but not limited to, a keyboard,mouse, microphone, touch sensitive display, etc. Furthermore, the I/Odevices 618 may also include output devices, for example but not limitedto, one or more display devices 104 a, 104 b, speakers 619, etc. The I/Odevices 618 may further include communication ports for communicatingwith the computing device 602. I/O devices include IEEE 1394, USB,wireless (Bluetooth, etc.), serial binary data interconnection such asRS232, infrared data association (IrDA), DVD drives, CD drives, etc. Insome embodiments, the I/O devices 618 include communication ports suchthat the translational effecter devices 154 are in direct communicationwith the control subsystem 610. In some embodiments, the number of I/Odevices 618 is sufficient such that each one of the translationaleffecter devices 154 is in direct and independent communication with thecontrol subsystem 610. In yet other embodiments, the number of I/Odevices 618 is sufficient such that components of each one of thetranslational effecter devices 154 is in direct and independentcommunication with the control subsystem 610, e.g., for a giventranslational effecter device 154, the motor 180 and the encoder 182 maybe in separate and direct communication with the control subsystem 610via the I/O devices 618. The I/0 devices 618 may be configured todigitally control the translational effecter devices 154 and/or themotors 180.

In the embodiment illustrated, the storage device 616 includes hapticenvironmental software 622 a. The haptic environmental software 622 amay have been provided to the control subsystem 610 by the computingdevice 602 or may have been loaded into the storage device 616 via oneof the I/O devices 618. In some embodiments, the haptic environmentalsoftware 622 a or portions of the haptic environmental software 622 amay be loaded into the memory via the computing device 602.

The haptic environmental software 622 a loaded in the storage device 616is typically comprised of one or more modules that are a subset of agroup of modules including haptic primitives (e.g., shapes such as, butnot limited to, planes, cones, spheres, cubes, triangles, cylinders,boxes, polyhedrons, surfaces defined by non-uniform rational B-splinesor NURBs, etc.), haptic effects (e.g., viscosity effects, centripetaland/or centrifugal forces, force fields such aelectromagnetic/electrostatic attraction/repulsion, and gravitationalforce, etc.), and haptic textures (e.g., smooth, rough, elastic, sandpaper, etc.). Typically, the haptic environmental software 622 aincludes modules that relate to the VR objects included in a virtualenvironment. The haptic environmental software 622 a mimics motions ofthe grips 106 in the VR environment. In operation, the hapticenvironmental software 622 a, or portions of the haptic environmentalsoftware 622 a, may be stored or buffered in the memory 614.

The calculation subsystem 300′ may implement one or more modules of thehaptic environmental software 622 a. For example, the collisiondetection module (not illustrated in FIG. 6) of the calculationsubsystem 300′ may use the haptic primitives to determine whether acollision has occurred between one or more modeled objects and one orboth of the grips 106. Similarly, the calculation subsystem 300′ mightalso determine environmental effects such as viscous resistance andinertia experienced as one or both of the grips 106 move through avirtual fluid or against a virtual solid.

In some embodiments, calculation subsystem 300′ may be configured toblend between different haptic regions or transition regions. Forexample, in the VR environment, there may exist a transition regionbetween a first VR region and a second VR region. The first VR regionmay be best described or simulated using a first type of hapticprimitive and/or a first type of haptic effect and/or a first type ofhaptic texture, and similarly, the second VR region may be bestdescribed or simulated using a second type of haptic primitive and/or asecond type of haptic effect and/or a second type of haptic texture. Inthe transition region, the calculation subsystem 300′ may blend thefirst and second haptic primitives and/or blend the first and secondhaptic effects and/or blend the first and second haptic textures. In oneembodiment, the blending may be implemented using interpolation.

The memory 614 includes, among other things, logic for the controlsubsystem 200′ and the calculation subsystem 300′. Theobject/environment representation module 310 uses the hapticenvironmental software 622 a to, among other things, manage and controlmodeling information about virtual (or real) objects, thethree-dimensional environment, the grips 106, and determine the properinteraction between the objects, environment and the grips 106.

The processor 612 is a hardware device for executing software,particularly that stored in memory 614. The processor 612 can be anydevice for executing software instructions such as an Intel Xscale®processor. Non-limiting examples of a processor device includemicroprocessor, application-specific integrated circuit (ASIC), andfield programmable gate array (FPGA). The processor 612 executes thesoftware stored in the memory 614 and provides the computing device 602with display related information. In particular, display relatedinformation may include information for the VR elements that mimic themotions of the grips 106 such as the VR positions and orientations ofthe VR elements, information related to the VR environment such as thedeformation, if any, of an VR object, etc.

The storage device 608 of the computing device 602 also includes VRsoftware 622 b. The VR software 622 b may be complementary to the hapticenvironmental software 622 a such that together the haptic environmentalsoftware 622 a and the VR software 622 b comprise an entire VR softwarepacket. As previously described, the haptic environmental software 622 amay include modules that relate to the VR objects and relate tactileinteractions, and the VR software 622 b may include modules that relateto aural output such as providing appropriate sounds for one or more ofthe VR elements, which relate to the one or more grips 106, interactingwith one or more VR objects, or modules that relate to visualcharacteristics of the VR environment such as VR lighting/shadowing,color, transparency, etc.

The computing device 602 receives the display related information fromthe control subsystem 610. The computing device 602 uses the VR software622 b and the display related information to generate an output that isprovided to the display devices 104 a, 104 b of the non-tactile feedbacksubsystem 400.

It should be noted that an advantage of system 600 is that the processesand calculations can be done in parallel. For example, the controlsubsystem 610 can determine the positions of one or more of the grips106 and provide the computing device 602 with the grip positioninformation. The computing device 602 may use the grip positioninformation to generate the display output at the same time that thecontrol subsystem 610 is using the position information to calculateappropriate cable tensions. Another advantage is that outputs can beprovided at different refresh rates. For example, the control subsystem610 may provide feedback to a user via tension in the cables 108 and/orvia a vibration element attached to one or more of the grips 106 at onerefresh rate, and the computing device 602 may provide output to thedisplay device 400 at a second refresh rate. For example, the controlsubsystem 610 may control the motors 180 at a refresh rate ofapproximately 1000 instructions per second, while the computing devicemay refresh the display device 104 at only 30 Hz. Another advantage ofsystem 600 is that legacy systems, which may have very low refresh ratescan be implemented on the system 600. For example, the control subsystem610 may provide on-board processing related to, among other things, griplocation, grip tracking, grip orientation, and force feedback, which mayrequire very fast refresh rates, and the computing device 602 mayimplement a legacy system having a very low refresh rate to provide thedisplay device 400′ with content. Yet another advantage of system 600 isthat control subsystem 610 can perform on-board processing, and some ofthe processing such as, but not limited to, blending of haptic regionsand collision detection are performed much faster by the controlsubsystem 610 than by the computing device 602. Faster collisiondetection prevents a user from moving a grip into and/or through amodeled solid object. If the collision detection module is being run ata low refresh rate, then a grip may be moved into and/or through a solidobject before the collision detection module could detect the collision.Similarly, faster blending of haptic regions provides a user with anatural, e.g., less jerky, force feedback.

In some embodiments, the system 600 may provide jerky force feedback.The control subsystem 610 might include a snap-to module. The snap-tomodule can apply tensions to the cables that cause a user to feel thatthe grips are pulled into predetermined positions. Typically, thepredetermined positions form a 3-dimensional grid. A user can use thegrips 106 to manipulate modeled objects. The user might move, stretch,and rotate, etc. the modeled objects. Using force enabled “snap-to”, amagnetic attraction can guide you to specific grid points or to pointsof interest on an object (i.e. vertices, centers, midpoints, ends,edges, etc). Force can be used to stabilize the user's movement and toprovide control when scaling, shearing, aligning, translating, rotating,etc. The force feedback allows the user to sculpt objects with aconsistency of clay or use pressure on a brush stroke to pain a thickline. In some embodiments, legacy software such as CAD software isloaded on the computing device 602. The computing device 602 uses thelegacy software to provide images to the display 104, and the controlsubsystem 610 operates in parallel to regulate the haptics at a highupdate/refresh rate.

In this embodiment, the work station 102 includes a grip dock 624. Thegrip dock 624 includes grip couplers collectively referenced as 630 andindividually referenced as 630 a and 630 b. The grip couplers 630 areconfigured to receive the grips 106 and releasably hold the respectivegrip therein. Typically, the grip couplers 630 are pressure sensitivesuch that the grip couplers 630 holds one of the grips 106 when thatgrip is placed/pressed into the grip coupler 630 and releases the grip106 when a subsequent pressure/force is applied. The grip couplers 630might also be magnetic. The grip dock 624 may be disposed on the base112 of the frame 110 or on some other location of the work station 102.In some embodiments, the work station 102 may include multiple gripdocks. For example, the work station 102 may include a right side gripdock for the right side grip and a left side grip dock for the left sidegrip.

In the embodiment illustrated, each one of the grip couplers 630 a and630 b include a grip detector 632 a and 632 b, respectively. The gripdetector 632 a is configured to detect when one of the grips 106 isreceived by the grip coupler 630 a and when the respective grip isremoved from the grip coupler 630 a. The grip detector 632 b issimilarly configured to detect when one of the grips 106 is received bythe grip coupler 630 b and when the respective grip is removed from thegrip coupler 630 b. In some embodiments, the grip detectors 632 a and632 b may take the form of a pressure switch.

The grip dock 624 sends a grip received signal to the control subsystem610 in response to one of the grips 106 being received (docked) by thegrip dock 624. The grip dock 624 also sends a grip removed signal to thecontrol subsystem 610 in response to one of the grips 106 being removed(undocked) from the grip dock 624. In some embodiments, the gripreceived signal and the grip removed signal identify which one of thegrips 106 was docked and undocked.

In this embodiment, each one of the translational effecter devices 154includes a lock 626. The locks 626 are configured to lock the cable ofeach respective translational effecter devices in stationary position inresponse to a lock signal from the control subsystem 610 and to releasethe cable in response to an unlock signal from the control subsystem610.

In some embodiments, when the control subsystem 610 receives a gripreceived signal from the grip dock 624, the control subsystem 610determines which grip was docked. The control subsystem 610 coulddetermine which grip was docked based upon tracking information, i.e.,the current positions of the grips. Alternatively, the control subsystemmay determine which grip dock sent the grip received signal. Upondetermining which grip was “docked” and/or which grip dock sent the gripreceived signal, the control subsystem 610 sends a lock signal to thelocks 626 of the translational effecter devices 154 that are coupled tothe “docked” grip. In response thereto, the locks 626 lock the cables instationary position. And, when the control subsystem 610 receives a gripremoved signal from the grip dock 624, the control subsystem 610determines which grip was undocked. The control subsystem 610 coulddetermine which grip was undocked based upon which grip was previouslydocked. Alternatively, the control subsystem 610 may determine whichgrip dock sent the grip removed signal. Upon determining which grip wasundocked and/or which grip dock sent the grip removed signal, thecontrol subsystem 610 sends an unlock signal to the locks 626 of thetranslational effecter devices 154 that are coupled to the undockedgrip. In response thereto, the locks 626 unlock the cables.

In some embodiments, the locks 626 may be actuated to lock and unlockthe cables with the grips being in any position in response to lock andunlock signals from the control subsystem 610. A user might decide tolock the cables prior to moving the work station 102 and unlock thecables after moving the work station 102. A user might cause the controlsubsystem 610 to send lock/unlock signals to the locks 626 by using alock/unlock switch (not shown) or by providing a user command via theI/O devices 618.

During operation, the cables are paid out and retracted by thetranslational effecter devices 154, and after extended periods of use,the calculated lengths of the cables, as determined by the controlsubsystem 610, may be different than the actual lengths. Consequently,in some embodiments, the control subsystem 610 includes a recalibrationmodule 628 stored in the memory 614. The recalibration module 628 isconfigured to calibrate calculated cable lengths. The recalibrationmodule 628 may be engaged whenever a grip is positioned at a referencepoint. The recalibration module 628 knows the actual cable lengths fromeach of the translational effecter devices 154 to the reference pointand resets the calculated cables lengths accordingly. In one embodiment,the recalibration module 628 may be automatically initiated when a gripis received by the dock 624.

In one embodiment, the memory 614 includes an operation log 628. Amongother things, the operation log 628 provides a record of the forcesrendered to the grips 106 and a record of the trajectories of the grips106. The operation log 628 may be accessible to authorized personal for,among other things, diagnostic purposes.

FIG. 7 shows a fourth embodiment of a workstation 102 d according to anillustrated embodiment, with the display omitted for clarity ofillustration. In FIG. 7, the various labels having a reference numeraland a prime (′) identify similar components and/or features as those ofFIG. 2 that have the same reference numeral without a prime and thevarious alphanumeric labels (e.g., labels having a reference numeral anda letter of the English alphabet) and a prime (′) identify similarcomponents and/or features as those of FIG. 7 that have the samealphanumeric labels without a prime. The detailed description of suchcomponents and/or features are initially provided with respect to theembodiment of FIG. 2 and for the sake of brevity the description of suchcomponents and/or features in the context of their subsequentlyprime-labeled counterparts in FIG. 7 are abbreviated or omitted.

The workstation 102 d includes a first connecting arm 702 a that extendsbetween support members 146′ and 148′ and a second connecting arm 702 bthat extends between support members 150′ and 152′. A first tool coupler704 a is attached to the first connecting arm 702 a, and a first toolshaft 706 a passes through the first tool coupler 704 a. The first toolshaft 706 a is coupled to the first attachment end 158 a′, which hascables 156 a′-156 d′ coupled thereto.

A second tool coupler 704 b is attached to the second connecting arm 702b, and a second tool shaft 706 b passes through the second tool coupler704 b. The second tool shaft 706 b is coupled to the second attachmentend 158 b′, which has cables 156 e′-156 h′ coupled thereto.

In some embodiments, the first and second tool couplers 704 a and 704 bare configured to pivotally couple with the first tool shaft 706 a andsecond tool shaft 706 b, respectively. The first and second toolcouplers 704 a and 704 b may allow three or more degrees of freedom forthe first and second tool shafts 706 a and 706 b, respectively. Forexample the first tool coupler 704 a may provide for two degrees ofrotational freedom about the first tool coupler 704 a and insertionthrough the first tool coupler 704 a.

The motion of the attachment ends 158 a′ and 158 b′ is controlledthrough tension in cables 156 a′-156 d′ and cables 156 e′-156 h′,respectively. The motion of the attachment ends 158 a′ and 158 b is suchthat a user will feel an insertion force (along with pitch and yaw) viathe tool shafts 706 a and 706 b, respectively. Insertion forces arealong the longitudinal length of the tool shafts 706 a and 706 b asconfined by the tool couplers 704 a and 704 b. Pitch and yaw are felt onthe tool shaft 706 a and the tool shaft 706 b with the respective pivotpoints at the tool couplers 704 a and 704 b. Such a configuration isideal to apply three degrees of freedom force feedback to minimallyinvasive instruments used when simulating a surgical procedure.

More degrees of force feedback, such as rotation around the tool shaft706 a (or 706 b) and grip forces at a handle of the tool shaft 706 a (or706 b), can be added through additional motors and/or cables. Forexample, a motor in the tool shaft 706 a, or attached to the toolcoupler 704 a , allows twisting force feedback, and a motor in a handleof the tool shaft 706 a adds a squeezing grip force.

In some embodiments, the workstation 102 d may include more than twotool couplers. The workstation 102 d may be configured to allow multipleusers to use the workstation 102 d simultaneously. Such a configurationmay be used to allow a team of users such as surgeons to practicecomplex procedures in close proximity.

FIG. 8 shows a sensor array 800 according to one illustrated embodiment.The sensor array 800 includes three optical rotary encoders 802, 804,and 806 coupled to a gimbal-like support system 808. The three opticalrotary encoders 802, 804, and 806 are arranged along three mutuallyorthogonal axes. The gimbal-like support system 808 is coupled to one ofthe cables 108 proximal to a grip 106. The three optical rotary encoders802, 804, and 806 provide the calculation subsystem 300 with informationthat is used to determine the orientation (roll, pitch, and yaw) of thegrip 106.

FIG. 9 shows a translational effecter device 154 according to oneillustrated embodiment. The illustrated translational effecter device154 is disposed within the cross member 118 of the frame 110. Theillustrated translational effecter device 154 is generallyrepresentative of the other translation effecter devices included in theworkstation 102 according to the one illustrated embodiment.

The translation effecter device 154 includes a pulley 902, a firstbearing 904, motor 180, encoder 182, a spool 906, cable 108 b, and alockable motor brake 908. The lockable motor brake 908 may include thelock 626.

The translation effecter device 154 is oriented so that the spool 906generally guides the cable 108 b toward the grip 106 a with theobjective of minimizing friction in the cable run (i.e., path) to thegrip 106 a.

The translation effecter device 154 also includes a mounting system 910that guides the cable 108 b from the spool 906 to the pulley 902, whileproviding stability for the spool 906 and the pulley 902, such thatspool 906 and the pulley 902 remain in fixed relative position whentension is applied to the cable 108 b. The mounting system 910 alsoprovides a structure to couple the translation effecter device 154 tothe frame 110. The mounting system 910 also positions the pulley 902away from both the frame 110 and the spool 906 in a manner that enablesideal use of tool workspace. The mounting system 910 may vary in size orgeometry depending on workspace requirements.

The mounting system 910 includes a link 912 that is fixed to a bracket914. A rotary fulcrum 916 is attached to link 912 through a secondarybearing. The rotary fulcrum 916 can rotate about an axis that isperpendicular to the adjacent face of link 912.

The pulley 902 is mounted to the rotary fulcrum 916 through bracket 918.The pulley 902 rotates around bearing 904, which lies between bracket918 and the pulley 902. In addition to its attachment to link 912,bracket 914 is attached to the motor 180, the lockable brake 908, andalso to the cross member 118 of the frame 110.

The motor 180 is typically a DC motor that displays minimal back drivefriction and that is digitally controlled by the control subsystem 200and/or 610. The motor 180 includes a shaft that is drivingly coupled tothe spool 906, which is in turn coupled to a cable 108 b. When the motor180 turns the spool 906, the cable 108 b wraps or unwraps around thespool 906. Tension occurs in the cable 108 b since the cables 108 a-108d pull at the attachment end 109 a in opposing directions. The amount oftension in the cable 108 b is based on the torque applied by the motor180 to the spool 906 as governed by the control subsystem 200 and/or610. In order to reduce backlash, a gear is not used, however someembodiments may include a gear where suitable.

The encoder 182 is coupled to the motor 180 and generates electricalpulses in response to rotation of the motor shaft. The electrical pulsesare sent to the control subsystem 200 and/or 610. Typically, an opticalencoder is used with a resolution of 1024 pulses per rotation of themotor shaft. However, a variety of optical encoders can be used thathave a wide range of resolutions. An encoder is therefore chosen basedon application requirements and price constraints. Determiningtranslational movement of the grip 106 a can be calculated from thelength of each of the cables 108 a-108 d, which is determined fromencoder pulse signals. There is a mathematical relationship betweencable length change, diameter of the spool 906, and the pulses perrotation. The spool 906 can be made of a variety of materials, such asaluminum, steel, rigid plastic or any other stiff material.

Although not shown in any figure, a set of cables may be applied tomultiple points on a grip so that different vector forces can berendered at each point. A single calculation device can be used tocontrol all the cable sets, or different calculation devices, forexample on separate circuit boards, may be used. The effect of applyingseparate force vectors to different points on a single grip yields theeffect of rotational forces as felt by the user, or may serve to controlthe movement of a jointed grip. Multiple sets of cables can also be usedto apply force vectors to multiple grips that exist in the sameworkspace.

Although specific embodiments of and examples for the haptic system andmethod are described herein for illustrative purposes, variousequivalent modifications can be made without departing from the spiritand scope of the invention, as will be recognized by those skilled inthe relevant art. The teachings provided herein of the invention can beapplied to other haptic systems, not necessarily the exemplary hapticsystem 10 generally described above.

The various embodiments described above can be combined to providefurther embodiments. All of the above U.S. patents, U.S. patentapplication publications, U.S. patent applications, foreign patents,foreign patent applications and non-patent publications referred to inthis specification and/or listed in the Application Data Sheet,including but not limited to U.S. Pat. No. 5,305,429; Seahak Kim,Masahiro Ishii, Yasuharu Koike, Makoto Sato, “Development of TensionBased Haptic Interface with 7 DOF:SPIDAR-G,” ICAT2000, 25-27, Oct.,2000, National Taiwan University, Taiwan; Seahak Kim, Masahiro Ishii,Yasuharu Koike, Makato Sato, “Design of a Tension Based Haptic Interfacewith 6 DOF,” 4th World Multiconference on Systemics, Cybernetics andInformatics (SCI2000) and the 6th International Conference onInformation Systems Analysis and Synthesis (ISAS2000), Orlando, USA, inJul. 23-26, 2000; Seahak Kim, Masahiro Ishii, Yasuharu Koike, MakotoSato, “Development of SPIDAR-G and Possibility of its Application toVirtual Reality,” VRST2000, 22-25, Oct., 2000, Seoul, Korea; Seahak Kim,Masahiro Ishii, Yasuharu Koike, Makoto Sato, “Design of tension basedhaptic interface: SPIDAR-G,” IMECE2000 (joint with ASME2000), 5-10,Nov., 2000, Orlando, USA; Seahak Kim, Masahiro Ishii, Yasuharu Koike,Makoto Sato, “Cutting edge Haptic interface device: SPIDAR-G,”Proceedings of the 32nd ISR (International Symposium on Robotics),19-21, Apr., 2001, Seoul, Korea; Seahak Kim, Shoichi Hasegawa, YasuharuKoike, Makoto Sato, “Tension Based 7 DOFs Force Feedback Device:SPIDAR-G” by the IEEE Computer Society Press in the proceedings of theIEEE Virtual Reality Conference 2002, 24-28 Mar. 2002 in Orlando, Fla.;Seahak Kim, Shouichi Hasegawa, Yasuharu Koike, Makoto Sato, “Tensionbased 7 DOF Force Feedback Device,” Trans. On ICASE, Vol. 4, No. 1, pp.8-16, 2002; Seahak Kim, Jeffrey J. Berkley, and Makoto Sato, “A NovelSeven Degree of Freedom Haptic Device for Engineering Design,” Journalof virtual reality, Springer UK (accepted), are incorporated herein byreference, in their entirety. Aspects of the invention can be modified,if necessary, to employ systems, circuits and concepts of the variouspatents, applications and publications to provide yet furtherembodiments of the invention.

These and other changes can be made to the embodiments in light of theabove-detailed description. In general, in the following claims, theterms used should not be construed to limit the claims to the specificembodiments disclosed in the specification and the claims, but should beconstrued to include all possible embodiments along with the full scopeof equivalents to which such claims are entitled. Accordingly, theclaims are not limited by the disclosure.

1. A haptic interface device, comprising: a first grip; a first set of anumber of translation effecter devices, the first set of translationaleffecter devices including a first translational effecter device, asecond translational effecter device, a third translational effecterdevice, and a fourth translational effecter device; a first set of anumber of cables, each cable of the first set of cables having arespective first end and a respective second end, the respective firstend of each cable of the first set of cables coupled to the first grip,and the respective second end of each cable of the first set of cablescoupled to a respective one of the first set of translational effecterdevices; a second grip that moves independently of the first grip; asecond set of a number of translation effecter devices, the second setof translational effecter devices including a first translationaleffecter device, a second translational effecter device, a thirdtranslational effecter device, and a fourth translational effecterdevice; a second set of a number of cables, each cable of the second setof cables having a respective first end and a respective second end, therespective first end of each cable of the second set of cables coupledto the second grip, and the respective second end of each cable of thesecond set of cables coupled to a respective one of the second set oftranslational effecter devices; a translational effecter device mountingmeans for mounting the first set of translational effecter devices andthe second set of translational effecter devices in fixed positions, thetranslational effecter device mounting means defining an opening havinga transverse width that is generally parallel to a front side of thetranslational effecter device mounting means, wherein the respectivepositions of first set of translational effecter devices aretransversely offset from the respective positions of the second set oftranslational effecter devices.
 2. The haptic interface device of claim1 wherein the translational effecter device mounting means comprises: afirst structure having the first set of translational effecter devicesmounted thereon; and a second structure having the second set oftranslational effecter devices mounted thereon, wherein the first andsecond structures are separable.
 3. The haptic interface device of claim1, further comprising: a display device positioned proximal to a rearside of the translational effecter device mounting means such that thedisplay device is viewable to a user positioned proximal to the frontside of the translational effecter device mounting means viewing throughthe opening.
 4. The haptic interface device of claim 1 wherein thetranslational effecter device mounting means includes a rear sidelongitudinally opposed to the front side, wherein the first and thesecond translational effecter devices of the first set of translationaleffecter devices are positioned generally longitudinally aligned andgenerally horizontally aligned, wherein the third and the fourthtranslational effecter devices of the first set of translationaleffecter devices are positioned generally transversely aligned andgenerally horizontally aligned, wherein the first and the secondtranslational effecter devices of the first set of translationaleffecter devices are vertically offset from the third and the fourthtranslational effecter devices of the first set of translationaleffecter devices, wherein the respective transverse positions of boththe first and the second translational effecter devices of the first setof translational effecter devices are between the respective transversepositions of the third and the fourth translational effecter devices ofthe first set of translational effecter devices, wherein the respectivelongitudinal positions of both the third and the fourth translationaleffecter devices of the first set of translational effecter devices arebetween the respective longitudinal positions of the first and thesecond translational effecter devices of the first set of translationaleffecter devices, and wherein the first and the second translationaleffecter devices of the second set of translational effecter devices arepositioned generally longitudinally aligned and generally horizontallyaligned, wherein the third and the fourth translational effecter devicesof the second set of translational effecter devices are positionedgenerally transversely aligned and generally horizontally aligned,wherein the first and the second translational effecter devices of thesecond set of translational effecter devices are vertically offset fromthe third and the fourth translational effecter devices of the secondset of translational effecter devices, wherein the respective transversepositions of both the first and the second translational effecterdevices of the second set of translational effecter devices are betweenthe respective transverse positions of the third and the fourthtranslational effecter devices of the second set of translationaleffecter devices, wherein the respective longitudinal positions of boththe third and the fourth translational effecter devices of the secondset of translational effecter devices are between the respectivelongitudinal positions of the first and the second translationaleffecter devices of the second set of translational effecter devices. 5.The haptic interface device of claim 1 wherein the translationaleffecter device mounting means includes a rear side longitudinallyopposed to the front side, wherein the first and the secondtranslational effecter devices of the first set of translationaleffecter devices are positioned generally longitudinally aligned andgenerally horizontally aligned, wherein the third and the fourthtranslational effecter devices of the first set of translationaleffecter devices are positioned generally longitudinally aligned andgenerally vertically offset, wherein the first and the secondtranslational effecter devices of the first set of translationaleffecter devices are vertically offset from the third and the fourthtranslational effecter devices of the first set of translationaleffecter devices, wherein the respective transverse positions of boththe first and the second translational effecter devices of the first setof translational effecter devices are proximal to a center of thetransverse width, wherein the transverse position of the thirdtranslational effecter device of the first set of translational effecterdevices is distal from the center of the transverse width, wherein thetransverse position of the fourth translational effecter device of thefirst set of translational effecter devices is proximal to a transversemid-point between the respective transverse positions of both the firstand the second translational effecter devices of the first set oftranslational effecter devices and the transverse position of the thirdtranslational effecter device of the first set of translational effecterdevices, wherein the respective longitudinal positions of both the thirdand fourth translational effecter devices of the first set oftranslational effecter devices are between the respective longitudinalpositions of the first and the second translational effecter devices ofthe first set of translational effecter devices, and wherein the firstand the second translational effecter devices of the second set oftranslational effecter devices are positioned generally longitudinallyaligned and generally horizontally aligned, wherein the third and thefourth translational effecter devices of the second set of translationaleffecter devices are positioned generally longitudinally aligned andgenerally vertically offset, wherein the first and the secondtranslational effecter devices of the second set of translationaleffecter devices are vertically offset from the third and the fourthtranslational effecter devices of the second set of translationaleffecter devices, wherein the respective transverse positions of boththe first and the second translational effecter devices of the secondset of translational effecter devices are proximal to the center of thetransverse width, wherein the transverse position of the thirdtranslational effecter device of the second set of translationaleffecter devices is distal from the center of the transverse width,wherein the transverse position of the fourth translational effecterdevice of the second set of translational effecter devices is proximalto a transverse mid-point between the respective transverse positions ofboth the first and the second translational effecter devices of thesecond set of translational effecter devices and the transverse positionof the third translational effecter device of the second set oftranslational effecter devices, wherein the respective longitudinalpositions of both the third and fourth translational effecter devices ofthe second set of translational effecter devices are between therespective longitudinal positions of the first and the secondtranslational effecter devices of the second set of translationaleffecter devices.
 6. A haptic interface device, comprising: a first gripconfigured to move within a volume of space, the first grip associatedwith a first movable robotic object; a second grip configured to movewithin the volume of space independent of the first grip, the secondgrip associated with a second movable robotic object; a first set of anumber of translational effecter devices, each respective translationaleffecter device of the first set of translational effecter deviceshaving a motor and a spool, each respective motor configured tofractionally rotate a respective one of the spools, each respectivespool of the spools of the translational effecter devices of the firstset of translational effecter devices having a respective cable coupledthereto, each one of the respective cables coupled to the first set oftranslational effecter devices is coupled to the first grip, the firstset of translational effecter devices including four translationaleffecter devices; a second set of a number of translational effecterdevices, each respective translational effecter device of the second setof translational effecter devices having a respective motor and arespective spool, each respective motor configured to fractionallyrotate a respective one of the spools, each respective spool of thespools of the translational effecter devices of the second set oftranslational effecter devices having a respective cable coupledthereto, each one of the respective cables coupled to the second set oftranslational effecter devices is coupled to the second grip, the secondset of translational effecter devices including four translationaleffecter devices; a frame having the first set of translational effecterdevices and the second set translational effecter devices mountedthereon, the frame having a transverse width, wherein the first set oftranslational effecter devices are transversely offset from the secondset of translational effecter devices; a first controller subsystem incommunication with the motors of the first set of translational effecterdevices and in communication with the motors of the second set oftranslational effecter devices, the first controller subsystem having avirtual reality (VR) collision detection module and a tracking module,the tracking module configured to receive signals from the first set oftranslational effecter devices and configured to determine a position ofthe first grip based upon the signals from the first set oftranslational effecter devices and configured to receive signals fromthe second set of translational effecter devices and configured todetermine a position of the second grip based upon the signals from thesecond set of translational effecter devices, the VR collision detectionmodule having VR primitive shapes stored therein, the VR collisiondetection module configured to use the VR primitive shapes to simulate aVR environment having VR objects and determine collisions between the VRobjects and at least one of the first robotic object or the secondrobotic object based upon the received signals.
 7. The haptic interfacedevice of claim 6, further comprising: a second controller subsystem incommunication with the first controller subsystem, the second controllersubsystem having a VR module stored therein, wherein the VR modulereceives information related to motion of the first grip and the secondgrip and uses the information to render images of corresponding motionof the first robotic object and the second robotic object.
 8. The hapticinterface device of claim 7 wherein the first controller subsystem is indirect communication with the motors of the first set of translationaleffecter devices and in direct communication with the motors of thesecond set of translational effecter devices.
 9. The haptic interfacedevice of claim 6 wherein the first set of translational effecterdevices includes a fifth translational effecter device, the fifthtranslational effecter device having a motor and a spool, the spool ofthe fifth translational effecter device having a cable coupled thereto,the cable of the fifth translational effecter device is coupled to thefirst grip; and wherein the first controller subsystem communicates withthe respective motors of the first set of translational effecter devicesto cause respective cables to wind and unwind on respective spools toprovide three degrees of force feedback to the first grip and one degreeof rotational force feedback to the first grip.
 10. The haptic interfacedevice of claim 6 wherein number of translational effecter devices inthe first set of translational effecter devices is greater than four;and wherein the first controller subsystem communicates with four of themotors of the first set of translational effecter devices to causerespective cables to wind and unwind on respective spools to providethree degrees of force feedback to the first grip and communicates withthe remaining number of motors to provide at least one of rotationalforce or positional force feedback to the first grip.
 11. A hapticinterface device, comprising: a grip configured to move within a volumeof space, the grip associated with a movable robotic object; a firstcable having a first end and a second end, the first end coupled to thegrip; a first tool translation effecter device having coupled theretothe second end of the first cable such that, as the grip is moved withinthe volume of space, the first cable is retracted or paid outaccordingly by the first translational effecter device; a grip dockconfigured to receive the first grip; and a cable lock configured tolock the first such that the locked cable cannot be further retracted orfurther paid out.
 12. The haptic interface device of claim 11 whereinthe cable lock is actuated in response to the grip dock receiving aportion of the grip.
 13. The haptic interface device of claim 11 whereinthe cable lock is released in response to a portion of the grip beingremoved from the grip dock.
 14. The haptic interface device of claim 11,further comprising: calibration means for calibrating a measurement of alength of the first cable.
 15. The haptic interface device of claim 14wherein the calibration means automatically calibrates the measurementof the length of the first cable in response to the grip dock receivinga portion of the first grip.
 16. A haptic interface device, comprising:a grip configured to move within a volume of space, the grip associatedwith a movable robotic object; a set of a number of translationaleffecter devices, each translational effecter device of the set oftranslational effecter devices having a respective motor and arespective spool, each respective motor configured to fractionallyrotate a respective one of the spools, each one of the spools of thetranslational effecter devices having a respective cable coupledthereto, each one of the respective cables coupled to the set oftranslational effecter devices is coupled to the grip; a first hapticcontroller subsystem in communication with the respective motors of theset of translational effecter devices, the controller subsystem having avirtual reality (VR) collision detection module and a tracking module,the tracking module configured to receive signals from the set oftranslational effecter devices and configured to determine a position ofthe grip based upon the signals from the set of translational effecterdevices, the VR collision detection module having VR primitive shapesstored therein, the VR collision detection module configured to use theVR primitive shapes to simulate a VR environment having VR objects anddetermine collisions between the VR objects and the robotic object basedupon the received signals, the haptic controller subsystem configured toprovide a second haptic controller subsystem with information related tothe VR environment.
 17. The haptic interface device of claim 16 whereinthe information provided by the first haptic controller subsystemincludes at least one of: information related to force feedback of thegrip, tracking of the grip, haptic primitives, haptic textures, hapticeffects, collision detection, or performance data.
 18. The hapticinterface device of claim 16 wherein the first haptic controllersubsystem is in direct communication with the respective motors.
 19. Ahaptic interface device, comprising: a support system; a first set of anumber of translational effecter devices coupled to the support system,the first set of translational effecter devices including a firsttranslational effecter device, a second translational effecter device, athird translational effecter device and a fourth translational effecterdevice, wherein the first, the second, the third, and the fourthtranslational effecter devices are positioned relative to each othersuch that each one of the first, the second, the third, and the fourthtranslational effecter devices occupies a respective vertex of a firsttetrahedron; a first set of a number of cables, each respective cable ofthe first set of cables having a respective first end and a respectivesecond end, each respective first end of each respective cable of thefirst set of cables coupled to a respective one of the first set oftranslational effecter devices; a first grip having each respectivesecond end of each respective cable of the first set of cables coupledthereto; a second set of a number of translational effecter devicescoupled to the support system, the second set of translational effecterdevices including a fifth translational effecter device, a sixthtranslational effecter device, a seventh translational effecter deviceand an eighth translational effecter device, wherein the fifth, thesixth, the seventh, and the eighth translational effecter devices arepositioned relative to each other such that each one of the fifth, thesixth, the seventh, and the eighth translational effecter devicesoccupies a respective vertex of a second tetrahedron; a second set of anumber of cables, each respective cable of the second set of cableshaving a respective first end and a respective second end, eachrespective first end of each respective cable of the second set ofcables coupled to a respective one of the second set of translationaleffecter devices; a second grip having each respective second end ofeach respective cable of the second set of cables coupled thereto;wherein the first, the second, and the third translational effecterdevices define a first plane, wherein the fifth, the sixth, and theseventh translational effecter devices define a second plane, andwherein the first and second planes are substantially parallel andproximal to each other.
 20. The haptic interface device of claim 19wherein the support system has opposed first and second sides, whereinthe fourth translational effecter device is coupled to the first side,and the eighth translational effecter device is coupled to the secondside, and wherein a line extending between the fourth translationaleffecter device and the eighth translational effecter device isapproximately perpendicular to the first plane and the second plane. 21.The haptic interface device of claim 19 wherein the support system hasopposed first and second sides, wherein the fourth translationaleffecter device is coupled to the first side, and the eighthtranslational effecter device is coupled to the second side, and whereina line extending between the fourth translational effecter device andthe eighth translational effecter device includes a midpoint, whereinthe first plane and the second plane are approximately equidistant fromthe midpoint on opposite sides of the midpoint.